<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .wrap {
            width: 300px;
            margin: 100px auto 0;
        }

        table {
            border-collapse: collapse;
            border-spacing: 0;
            border: 1px solid #c0c0c0;
            width: 300px;
        }

        th,
        td {
            border: 1px solid #d0d0d0;
            color: #404060;
            padding: 10px;
        }

        th {
            background-color: #09c;
            font: bold 16px "微软雅黑";
            color: #fff;
        }

        td {
            font: 14px "微软雅黑";
        }

        tbody tr {
            background-color: #f0f0f0;
        }

        tbody tr:hover {
            cursor: pointer;
            background-color: #fafafa;
        }
    </style>
</head>
<body>
<div class="wrap">
    <table>
        <thead>
        <tr>
            <th>
                <input type="checkbox" id="j_cbAll"/>
            </th>
            <th>菜名</th>
            <th>饭店</th>
        </tr>
        </thead>
        <tbody id="j_tb">
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>红烧肉</td>
            <td>田老师</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>西红柿鸡蛋</td>
            <td>田老师</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>红烧狮子头</td>
            <td>田老师</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>日式肥牛</td>
            <td>田老师</td>
        </tr>
        </tbody>
    </table>
</div>
<script>
    //找人
    var all = document.getElementById("j_cbAll");
    var tb = document.getElementById("j_tb");
    var checkboxes = tb.getElementsByTagName("input");//下面的复选框
    //console.dir(all);
    //console.log(all.checked);//获取
    //all.checked = true;//设置
    //上面的 可以控制下面的
    //点击all 如果上面的选中了 下面就都选中 如果上面不选中 下面就都不选中
    all.onclick = function () {
        for (var i = 0; i < checkboxes.length; i++) {
            checkboxes[i].checked = all.checked;
        }
    };
    //下面的 也可以控制上面的
    //下面每个复选框都要注册点击事件 点击之后判断
    //如果下面的都选中了 all就选中 如果没有都选中all就不选中
    for (var i = 0; i < checkboxes.length; i++) {
        checkboxes[i].onclick = function () {
            //判断有没有都选中
//            var isCheckedAll = true;//假设都选中了
            var checkedCount = 0;
            for (var i = 0; i < checkboxes.length; i++) {
                if (checkboxes[i].checked === true) {
                    checkedCount++;
                }
            }
            if (checkedCount === checkboxes.length) {
                all.checked = true;
            } else {
                all.checked = false;
            }
        };
    }

</script>
</body>
</html>